﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Ivy.UserRegistration.Entity;
using Hsmp.SocietyAdmin.Entity;

namespace HSMPWeb.ViewEntity
{
   
    public class UserContext
    {
        #region Variables & Constants
        //int lUserKey = 0;
        //string lUserLoginID = string.Empty;
        //string lUserFirstName = string.Empty;
        //string lUserLastName = string.Empty;
        //string lUserPrimaryEmailID = string.Empty;
        //string lUserVerificationCode = string.Empty;
        //bool lUserIsVerified = false;
        //int lUserLoginSocietyKey = 0;
        //string lUserLoginSocietyName = string.Empty;
        //int lUserLoginRoleKey = 0;
        //string lUserLoginRoleName = string.Empty;

        //UserRole lUserRole = UserRole.Anonymous;
        //UserRoles lUserRole = UserRoles.SocietyAdmin; // to be removed later once the datbase and user registration and login screen are updated
        string lUserIPAddress = string.Empty;
        string lUserBrowser = string.Empty;
        User lCurrentUser;
        List<UserRole> lUserRoles = new List<UserRole>();
        Society lCurrentSociety;
        Sys_RoleMaster lCurrentRole;

        string lSys_CreatedByID = "SysAdmin";
        Int32 lSys_OrganizationID = -1;
        string lCultureInfo = "";
        #endregion Variables & Constants

        #region Constructor & Destructor

        #endregion Constructor & Destructor

        #region Public Properties

        //public string UserLoginID
        //{
        //    get
        //    {
        //        return lUserLoginID;
        //    }
        //    set
        //    {
        //        lUserLoginID = value;

        //    }
        //}

        //public string UserFirstName
        //{
        //    get
        //    {
        //        return lUserFirstName;
        //    }
        //    set
        //    {
        //        lUserFirstName = value;

        //    }
        //}

        //public string UserLastName
        //{
        //    get
        //    {
        //        return lUserLastName;
        //    }
        //    set
        //    {
        //        lUserLastName = value;

        //    }
        //}

        //public string UserPrimaryEmailID
        //{
        //    get
        //    {
        //        return lUserPrimaryEmailID;
        //    }
        //    set
        //    {
        //        lUserPrimaryEmailID = value;

        //    }
        //}

        //public string UserVerificationCode
        //{
        //    get
        //    {
        //        return lUserVerificationCode;
        //    }
        //    set
        //    {
        //        lUserVerificationCode = value;

        //    }
        //}

        //public bool UserIsVerified
        //{
        //    get
        //    {
        //        return lUserIsVerified;
        //    }
        //    set
        //    {
        //        lUserIsVerified = value;

        //    }
        //}

        public string UserIPAddress
        {
            get
            {
                return lUserIPAddress;
            }
            set
            {
                lUserIPAddress = value;

            }
        }

        public string UserBrowser
        {
            get
            {
                return lUserBrowser;
            }
            set
            {
                lUserBrowser = value;

            }
        }

        public User CurrentUser
        {
            get
            {
                return lCurrentUser;
            }
            set
            {
                lCurrentUser = value;

            }
        }

        public List<UserRole> UserRoles
        {
            get
            {
                return lUserRoles;
            }
            set
            {
                lUserRoles = value;

            }
        }
        public Society CurrentSociety
        {
            get
            {
                return lCurrentSociety;
            }
            set
            {
                lCurrentSociety = value;

            }
        }
        public Sys_RoleMaster CurrentRole
        {
            get
            {
                return lCurrentRole;
            }
            set
            {
                lCurrentRole = value;

            }
        }

        public string Sys_CreatedByID
        {
            get
            {
                return lSys_CreatedByID;
            }
            set
            {
                lSys_CreatedByID = value;

            }
        }

        public Int32 Sys_OrganizationID
        {
            get
            {
                return lSys_OrganizationID;
            }
            set
            {
                lSys_OrganizationID = value;

            }
        }

        public string CultureInfo
        {
            get
            {
                return lCultureInfo;
            }
            set
            {
                lCultureInfo = value;

            }
        }

        #endregion Public Properties

        #region Public Methods
        #endregion Public Methods

        #region Events
        #endregion Events

        #region Private Methods

        #endregion Private Methods

    }
}